Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: don't throw error for non http event #1133

Merged

Conversation

robertbeal
Copy link
Contributor

What does this implement/fix? Explain your changes.

A PR to propose changing the behaviour of the http-event-normalizer (more as a discussion point that formal PR)

Currently, the http-event-normalizer middleware will throw an error if the HTTP version cannot be established. For example if HTTP Method is missing from the event.

  • (discussion point) should the middleware care? Or care enough to throw an error which breaks the code flow. My argument is that it's designed to ensure objects are instantiated/normalised, and not to police the HTTP validity of an event object.
  • It differs in behaviour (inconsistency) from the http-header-normalizer which does not throw an error if the HTTP version cannot be figured out. This PR would make the behaviour more consistent.

Impact:

It is a breaking change as the behaviour of the middleware will be different

Does this close any currently open issues?

No

Any relevant logs, error output, etc?

N/A

Environment:

  • Node.js: 18

Any other comments?

Todo List:

  • Feature/Fix fully implemented
  • Amended tests
    • Unit tests
    • Benchmark tests (if applicable)
  • Updated relevant documentation
  • Updated relevant examples

@robertbeal
Copy link
Contributor Author

robertbeal commented Nov 15, 2023

@willfarrell FYI re-made the PR as I messed up rebasing. Should all be ok now - based of release/5.0 with the comment, squashed into a single commit.

@willfarrell
Copy link
Member

Thanks for updating. v5 will release later today.

@willfarrell willfarrell merged commit e14c932 into middyjs:release/5.0 Nov 15, 2023
8 checks passed
mergify bot referenced this pull request in SvenKirschbaum/share.kirschbaum.cloud Nov 17, 2023
[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@middy/core](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fcore/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fcore/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fcore/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fcore/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fcore/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/error-logger](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2ferror-logger/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2ferror-logger/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2ferror-logger/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2ferror-logger/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2ferror-logger/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-content-negotiation](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fhttp-content-negotiation/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-content-negotiation/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-content-negotiation/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-content-negotiation/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-content-negotiation/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-error-handler](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fhttp-error-handler/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-error-handler/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-error-handler/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-error-handler/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-error-handler/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-header-normalizer](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fhttp-header-normalizer/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-header-normalizer/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-header-normalizer/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-header-normalizer/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-header-normalizer/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-json-body-parser](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fhttp-json-body-parser/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-json-body-parser/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-json-body-parser/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-json-body-parser/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-json-body-parser/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-response-serializer](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fhttp-response-serializer/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-response-serializer/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-response-serializer/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-response-serializer/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-response-serializer/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/validator](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fvalidator/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fvalidator/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fvalidator/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fvalidator/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fvalidator/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>middyjs/middy (@&#8203;middy/core)</summary>

### [`v5.0.2`](https://togithub.com/middyjs/middy/releases/tag/5.0.2)

[Compare Source](https://togithub.com/middyjs/middy/compare/5.0.1...5.0.2)

##### What's Changed

-   Validation error cause typo by [@&#8203;stepansib](https://togithub.com/stepansib) in [https://github.com/middyjs/middy/pull/1138](https://togithub.com/middyjs/middy/pull/1138)
    -   Update similar typo in other files

##### New Contributors

-   [@&#8203;stepansib](https://togithub.com/stepansib) made their first contribution in [https://github.com/middyjs/middy/pull/1138](https://togithub.com/middyjs/middy/pull/1138)

**Full Changelog**: middyjs/middy@5.0.1...5.0.2

### [`v5.0.1`](https://togithub.com/middyjs/middy/releases/tag/5.0.1)

[Compare Source](https://togithub.com/middyjs/middy/compare/5.0.0...5.0.1)

#### What's Changed

-   ci: Add in missing types file [@&#8203;lbevilacqua](https://togithub.com/lbevilacqua) [https://github.com/middyjs/middy/issues/1136](https://togithub.com/middyjs/middy/issues/1136)
-   chore(website): Update website-publish.yml by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1135](https://togithub.com/middyjs/middy/pull/1135)

**Full Changelog**: middyjs/middy@5.0.0...5.0.1

### [`v5.0.0`](https://togithub.com/middyjs/middy/releases/tag/5.0.0)

[Compare Source](https://togithub.com/middyjs/middy/compare/4.7.0...5.0.0)

For full details and upgrade guide see https://middy.js.org/docs/upgrade/4-5

#### Notable changes

-   Middy no longer support Common JS modules.
-   Deprecate Node.js v16.x.
-   Add support for Node.js v20.x.
-   Update to use TypeScript v5 along with a refactor to most packages
-   Update all errors to be consistent `new Error('message', { cause: { package:'@&#8203;middy/***', data:*** } })`
-   If using multiple `http-*-body-parsers` on the same endpoint you'll need to set `{ disableContentTypeError: true }`

#### What's Changed

-   fix(appconfig): [#&#8203;1009](https://togithub.com/middyjs/middy/issues/1009) rewrite to not use deprecated appconfig getConfiguration command by [@&#8203;mju-spyrosoft](https://togithub.com/mju-spyrosoft) in [https://github.com/middyjs/middy/pull/1029](https://togithub.com/middyjs/middy/pull/1029)
-   Green CI for 5.0 by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1090](https://togithub.com/middyjs/middy/pull/1090)
-   feat(json-body-parser): allow specifying versioned APIGW events by [@&#8203;naorpeled](https://togithub.com/naorpeled) in [https://github.com/middyjs/middy/pull/1100](https://togithub.com/middyjs/middy/pull/1100)
-   feat(typescript): getInternal type safety + other type improvements by [@&#8203;m-radzikowski](https://togithub.com/m-radzikowski) in [https://github.com/middyjs/middy/pull/1093](https://togithub.com/middyjs/middy/pull/1093)
-   Fix typo by [@&#8203;michael-k](https://togithub.com/michael-k) in [https://github.com/middyjs/middy/pull/1110](https://togithub.com/middyjs/middy/pull/1110)
-   docs: add Powertools idempotency + fix typo by [@&#8203;dreamorosi](https://togithub.com/dreamorosi) in [https://github.com/middyjs/middy/pull/1115](https://togithub.com/middyjs/middy/pull/1115)
-   fix(http-error-handler): non http errors will always be handled  by [@&#8203;qoomon](https://togithub.com/qoomon) in [https://github.com/middyjs/middy/pull/1117](https://togithub.com/middyjs/middy/pull/1117)
-   feat: add `@iress/middy-http-path-router` to third-party middleware docs by [@&#8203;RodneyMarsh](https://togithub.com/RodneyMarsh) in [https://github.com/middyjs/middy/pull/1124](https://togithub.com/middyjs/middy/pull/1124)
-   fix(website): extra padding on mobile by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1126](https://togithub.com/middyjs/middy/pull/1126)
-   Feat: improve TS docs, mention Middeware-first, Handler-last pattern by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1130](https://togithub.com/middyjs/middy/pull/1130)
-   Update website to docusaurus3 by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1129](https://togithub.com/middyjs/middy/pull/1129)
-   fix(middlewares/http-json-body-parser): narrow body type to string by [@&#8203;naorpeled](https://togithub.com/naorpeled) in [https://github.com/middyjs/middy/pull/1131](https://togithub.com/middyjs/middy/pull/1131)
-   fix: don't throw error for non http event by [@&#8203;robertbeal](https://togithub.com/robertbeal) in [https://github.com/middyjs/middy/pull/1133](https://togithub.com/middyjs/middy/pull/1133)

#### New Contributors

-   [@&#8203;mju-spyrosoft](https://togithub.com/mju-spyrosoft) made their first contribution in [https://github.com/middyjs/middy/pull/1029](https://togithub.com/middyjs/middy/pull/1029)
-   [@&#8203;michael-k](https://togithub.com/michael-k) made their first contribution in [https://github.com/middyjs/middy/pull/1110](https://togithub.com/middyjs/middy/pull/1110)
-   [@&#8203;qoomon](https://togithub.com/qoomon) made their first contribution in [https://github.com/middyjs/middy/pull/1117](https://togithub.com/middyjs/middy/pull/1117)
-   [@&#8203;RodneyMarsh](https://togithub.com/RodneyMarsh) made their first contribution in [https://github.com/middyjs/middy/pull/1124](https://togithub.com/middyjs/middy/pull/1124)
-   [@&#8203;robertbeal](https://togithub.com/robertbeal) made their first contribution in [https://github.com/middyjs/middy/pull/1133](https://togithub.com/middyjs/middy/pull/1133)

Big tanks to everyone who made this release possible!

**Full Changelog**: middyjs/middy@4.7.0...5.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/SvenKirschbaum/share.kirschbaum.cloud).
mergify bot referenced this pull request in SvenKirschbaum/aws-utils Nov 17, 2023
[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@middy/core](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fcore/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fcore/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fcore/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fcore/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fcore/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/error-logger](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2ferror-logger/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2ferror-logger/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2ferror-logger/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2ferror-logger/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2ferror-logger/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-error-handler](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fhttp-error-handler/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-error-handler/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-error-handler/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-error-handler/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-error-handler/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-header-normalizer](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fhttp-header-normalizer/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-header-normalizer/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-header-normalizer/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-header-normalizer/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-header-normalizer/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-response-serializer](https://middy.js.org) ([source](https://togithub.com/middyjs/middy)) | [`4.7.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@middy%2fhttp-response-serializer/4.7.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-response-serializer/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-response-serializer/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-response-serializer/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-response-serializer/4.7.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>middyjs/middy (@&#8203;middy/core)</summary>

### [`v5.0.2`](https://togithub.com/middyjs/middy/releases/tag/5.0.2)

[Compare Source](https://togithub.com/middyjs/middy/compare/5.0.1...5.0.2)

##### What's Changed

-   Validation error cause typo by [@&#8203;stepansib](https://togithub.com/stepansib) in [https://github.com/middyjs/middy/pull/1138](https://togithub.com/middyjs/middy/pull/1138)
    -   Update similar typo in other files

##### New Contributors

-   [@&#8203;stepansib](https://togithub.com/stepansib) made their first contribution in [https://github.com/middyjs/middy/pull/1138](https://togithub.com/middyjs/middy/pull/1138)

**Full Changelog**: middyjs/middy@5.0.1...5.0.2

### [`v5.0.1`](https://togithub.com/middyjs/middy/releases/tag/5.0.1)

[Compare Source](https://togithub.com/middyjs/middy/compare/5.0.0...5.0.1)

#### What's Changed

-   ci: Add in missing types file [@&#8203;lbevilacqua](https://togithub.com/lbevilacqua) [https://github.com/middyjs/middy/issues/1136](https://togithub.com/middyjs/middy/issues/1136)
-   chore(website): Update website-publish.yml by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1135](https://togithub.com/middyjs/middy/pull/1135)

**Full Changelog**: middyjs/middy@5.0.0...5.0.1

### [`v5.0.0`](https://togithub.com/middyjs/middy/releases/tag/5.0.0)

[Compare Source](https://togithub.com/middyjs/middy/compare/4.7.0...5.0.0)

For full details and upgrade guide see https://middy.js.org/docs/upgrade/4-5

#### Notable changes

-   Middy no longer support Common JS modules.
-   Deprecate Node.js v16.x.
-   Add support for Node.js v20.x.
-   Update to use TypeScript v5 along with a refactor to most packages
-   Update all errors to be consistent `new Error('message', { cause: { package:'@&#8203;middy/***', data:*** } })`
-   If using multiple `http-*-body-parsers` on the same endpoint you'll need to set `{ disableContentTypeError: true }`

#### What's Changed

-   fix(appconfig): [#&#8203;1009](https://togithub.com/middyjs/middy/issues/1009) rewrite to not use deprecated appconfig getConfiguration command by [@&#8203;mju-spyrosoft](https://togithub.com/mju-spyrosoft) in [https://github.com/middyjs/middy/pull/1029](https://togithub.com/middyjs/middy/pull/1029)
-   Green CI for 5.0 by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1090](https://togithub.com/middyjs/middy/pull/1090)
-   feat(json-body-parser): allow specifying versioned APIGW events by [@&#8203;naorpeled](https://togithub.com/naorpeled) in [https://github.com/middyjs/middy/pull/1100](https://togithub.com/middyjs/middy/pull/1100)
-   feat(typescript): getInternal type safety + other type improvements by [@&#8203;m-radzikowski](https://togithub.com/m-radzikowski) in [https://github.com/middyjs/middy/pull/1093](https://togithub.com/middyjs/middy/pull/1093)
-   Fix typo by [@&#8203;michael-k](https://togithub.com/michael-k) in [https://github.com/middyjs/middy/pull/1110](https://togithub.com/middyjs/middy/pull/1110)
-   docs: add Powertools idempotency + fix typo by [@&#8203;dreamorosi](https://togithub.com/dreamorosi) in [https://github.com/middyjs/middy/pull/1115](https://togithub.com/middyjs/middy/pull/1115)
-   fix(http-error-handler): non http errors will always be handled  by [@&#8203;qoomon](https://togithub.com/qoomon) in [https://github.com/middyjs/middy/pull/1117](https://togithub.com/middyjs/middy/pull/1117)
-   feat: add `@iress/middy-http-path-router` to third-party middleware docs by [@&#8203;RodneyMarsh](https://togithub.com/RodneyMarsh) in [https://github.com/middyjs/middy/pull/1124](https://togithub.com/middyjs/middy/pull/1124)
-   fix(website): extra padding on mobile by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1126](https://togithub.com/middyjs/middy/pull/1126)
-   Feat: improve TS docs, mention Middeware-first, Handler-last pattern by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1130](https://togithub.com/middyjs/middy/pull/1130)
-   Update website to docusaurus3 by [@&#8203;lmammino](https://togithub.com/lmammino) in [https://github.com/middyjs/middy/pull/1129](https://togithub.com/middyjs/middy/pull/1129)
-   fix(middlewares/http-json-body-parser): narrow body type to string by [@&#8203;naorpeled](https://togithub.com/naorpeled) in [https://github.com/middyjs/middy/pull/1131](https://togithub.com/middyjs/middy/pull/1131)
-   fix: don't throw error for non http event by [@&#8203;robertbeal](https://togithub.com/robertbeal) in [https://github.com/middyjs/middy/pull/1133](https://togithub.com/middyjs/middy/pull/1133)

#### New Contributors

-   [@&#8203;mju-spyrosoft](https://togithub.com/mju-spyrosoft) made their first contribution in [https://github.com/middyjs/middy/pull/1029](https://togithub.com/middyjs/middy/pull/1029)
-   [@&#8203;michael-k](https://togithub.com/michael-k) made their first contribution in [https://github.com/middyjs/middy/pull/1110](https://togithub.com/middyjs/middy/pull/1110)
-   [@&#8203;qoomon](https://togithub.com/qoomon) made their first contribution in [https://github.com/middyjs/middy/pull/1117](https://togithub.com/middyjs/middy/pull/1117)
-   [@&#8203;RodneyMarsh](https://togithub.com/RodneyMarsh) made their first contribution in [https://github.com/middyjs/middy/pull/1124](https://togithub.com/middyjs/middy/pull/1124)
-   [@&#8203;robertbeal](https://togithub.com/robertbeal) made their first contribution in [https://github.com/middyjs/middy/pull/1133](https://togithub.com/middyjs/middy/pull/1133)

Big tanks to everyone who made this release possible!

**Full Changelog**: middyjs/middy@4.7.0...5.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/SvenKirschbaum/aws-utils).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants